 
; G.I.JOE

  IF X>128 GOTO LEFT
  225 TO A TO D
  90 TO C
  GOTO START

LEFT

  -225 TO A TO D
  270 TO C

START

  A TO SPEEDX
  0 TO B
  3 TO I TO RANDOM
  
MOVEA

  C+I TO AIM TO RADAR
  IF RADAR<0 GOTO SHOOTA
  IF RADAR<75 GOTO ATURN

MOVEB

  A TO SPEEDX
  B TO SPEEDY
  AIM + 180 TO AIM TO RADAR
  IF RADAR < 0 GOTO SHOOTB
  IF RADAR >181 GOTO ATURN
  0-I TO I
  GOTO MOVEA

MOVEC

  A TO SPEEDX
  B TO SPEEDY

CAIM

  C+I TO AIM TO RADAR
  IF RADAR<0 GOTO SHOOTC
  IF RADAR<95 GOTO BTURN
  0-I TO I
  GOTO MOVEC

ATURN

  IF RANDOM # 0 GOTO ALTURN
  IF A=0 GOTO VTURN
  0-A TO A TO SPEEDX
  225 TO B
  IF Y>128 -225 TO B
  B TO SPEEDY
  GOTO NEWAIM

VTURN

  0-B TO B TO SPEEDY
  225 TO A
  IF X>128 -225 TO A
  A TO SPEEDX

NEWAIM

  IF A=225 GOTO BAIM
  0-B / 5+270 TO C
  GOTO CAIM

BAIM

  B/5+90 TO C
  GOTO CAIM

BTURN

  IF D=0 GOTO CTURN
  0-B TO B TO SPEEDY
  0 TO A TO D TO SPEEDX
  2*B/5+90 TO C
  GOTO MOVEA

CTURN

  0-A TO A TO D TO SPEEDX
  0 TO B TO SPEEDY
  0-A*2/5+180 TO C
  GOTO MOVEA

SHOOTA

  -12-RADAR TO SHOT
  GOTO ALTURN

SHOOTB

  12-RADAR TO SHOT
  GOTO ALTURN

SHOOTC

  0 TO SPEEDX TO SPEEDY
  -10-RADAR TO SHOT
  GOTO BTURN

ALTURN

  IF A =0 GOTO VLTURN
  0 TO A TO D TO SPEEDX
  225 TO B
  IF Y>128 -225 TO B
  B TO SPEEDY
  2*B/5+90 TO C
  GOTO MOVEA

VLTURN

  0 TO B TO SPEEDY
  225 TO A
  IF X>128 -225 TO A
  A TO D TO SPEEDX
  0-A*2/5+180 TO C
  GOTO MOVEA
